package com.kingdee.eas.fdc.customerservice.app;

import com.kingdee.bos.BOSException;
//import com.kingdee.bos.metadata.*;
import com.kingdee.bos.framework.*;
import com.kingdee.bos.util.*;
import com.kingdee.bos.Context;

import java.lang.String;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.bos.dao.IObjectPK;
import com.kingdee.eas.fdc.customerservice.ServiceRergisterBillInfo;
import com.kingdee.eas.fdc.basedata.FDCBillStateEnum;
import com.kingdee.bos.metadata.entity.SelectorItemCollection;
import com.kingdee.eas.framework.CoreBaseCollection;
import com.kingdee.eas.fdc.customerservice.ServiceRergisterBillCollection;
import com.kingdee.bos.util.*;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.eas.fdc.customerservice.ServiceRegisterBillStatusEnum;
import com.kingdee.eas.fdc.propertymgmt.app.PPMProjectBillController;
import com.kingdee.eas.fdc.customerservice.ServiceReturnEnum;
import com.kingdee.eas.framework.CoreBaseInfo;
import java.util.Collection;
import com.kingdee.bos.framework.*;
import com.kingdee.bos.util.BOSUuid;

import java.rmi.RemoteException;
import com.kingdee.bos.framework.ejb.BizController;

public interface ServiceRergisterBillController extends PPMProjectBillController
{
    public ServiceRergisterBillInfo getServiceRergisterBillInfo(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public ServiceRergisterBillInfo getServiceRergisterBillInfo(Context ctx, IObjectPK pk, SelectorItemCollection selector) throws BOSException, EASBizException, RemoteException;
    public ServiceRergisterBillInfo getServiceRergisterBillInfo(Context ctx, String oql) throws BOSException, EASBizException, RemoteException;
    public ServiceRergisterBillCollection getServiceRergisterBillCollection(Context ctx) throws BOSException, RemoteException;
    public ServiceRergisterBillCollection getServiceRergisterBillCollection(Context ctx, EntityViewInfo view) throws BOSException, RemoteException;
    public ServiceRergisterBillCollection getServiceRergisterBillCollection(Context ctx, String oql) throws BOSException, RemoteException;
    public void updateBillStatus(Context ctx, IObjectPK pk, ServiceRegisterBillStatusEnum billStatus) throws BOSException, EASBizException, RemoteException;
    public Collection findProcessEntryInfoById(Context ctx, ServiceRergisterBillInfo registerBillInfo) throws BOSException, EASBizException, RemoteException;
    public void updateReturnStatus(Context ctx, IObjectPK pk, ServiceReturnEnum returnStatus) throws BOSException, EASBizException, RemoteException;
    public void deleteReturnBillById(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void updateState(Context ctx, IObjectPK pk, FDCBillStateEnum state) throws BOSException, EASBizException, RemoteException;
    public void submitForWF(Context ctx, ServiceRergisterBillInfo model) throws BOSException, EASBizException, RemoteException;
    public IObjectPK submitForRergisterBill(Context ctx, ServiceRergisterBillInfo model) throws BOSException, EASBizException, RemoteException;
    public IObjectPK submitForProcessBill(Context ctx, ServiceRergisterBillInfo model) throws BOSException, EASBizException, RemoteException;
    public void checkCanCreateInspection(Context ctx, BOSUuid id) throws BOSException, EASBizException, RemoteException;
}